The present disclosure relates to computing devices, and more particularly, to computing devices configured to analyze existing database configurations and usage and perform tasks based on that usage.
Large corporations generally store and manipulate huge amounts of data using various database systems. Some of the more well-known database systems include DB2, IMS, Datacom, IDMS, MySQL, and Oracle. These database systems usually include objects (e.g., tables, indices, etc.) that store and organize the data, and users with which can interact via one or more application programs. To facilitate database operations, companies task special users, commonly referred to as Database Administrators (DBAs), with managing the database system. However, DBAs face many challenges in the performance of their jobs. One challenge, for example, is trying to understand which applications are interacting which database objects.
While there are many different reasons for such challenges, one such reason is developer turnaround. Particularly, when different application developers implement various requirements to improve a given business application, they may not employ the same techniques to interface with the database. For example, some developers may write code expecting that the database system handle Referential Integrity (RI) according to an internal set of rules. Other developers, however, might implement RI in the program code itself. Such inconsistencies can be problematic for both the database system and the applications that interact with the data.
Another reason is that obsolete source code is sometimes difficult to change. By way of example, when code changes to an application program are needed, any functionality provided by the new or updated code must be “backwards compliant.” However, this tends to create “spaghetti” code, which is undesirable from a developer point of view. Further, such code changes can complicate tracking which Standard Query Language (SQL) commands are invoked by which application when performing a desired data operation. These problems may be further compounded by the difficulties that different team members (e.g., the database management team and the application development team) have in communicating with one another.